home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1993 November / JCSM Shareware Collection - 1993-11.iso / cl720 / sst115j.lzh / SSTVID.H < prev    next >
C/C++ Source or Header  |  1992-07-18  |  4KB  |  77 lines

  1. /* ------------------------------------------------------------------------ */
  2. /*                                sstvid.h                                  */
  3. /*                                                                          */
  4. /*                           video header file                              */
  5. /*                                                                          */
  6. /*      CopyRight (C) 1991,1992  Steven Lutrov.   All rights reserved.      */
  7. /* ------------------------------------------------------------------------ */
  8. #include <conio.h>
  9.  
  10. /*  SCREENWIDTH      (peekb(0x40,0x4a) & 255)
  11.    SCREENHEIGHT     (visvga() || visega() ? peekb(0x40,0x84)+1 : 25)
  12. */
  13.  
  14. #define   SCREENWIDTH      80
  15. #define   SCREENHEIGHT     25
  16.  
  17. #define   VIDEO            0x010   /* video interrupts */
  18. #define   KEYBRD           0x016   /* keyboard interrupts */
  19. #define   DOS              0x021   /* dos interrupts */
  20. #define   CRIT             0x024   /* critical error handler */
  21. #define   KBUSYLOOP        0x028   /* keyboard busy loop, intr handler */
  22.  
  23. /* ------------------------------------------------------------------------ */
  24. /*                             video functions                              */
  25. /* ------------------------------------------------------------------------ */
  26. void   vblinkbit         (int f);
  27. void   vclearrline       (unsigned char,unsigned char);
  28. void   vcls              (unsigned char);
  29. void   vfill             (int x, int y, int yy, int xx, int c, int a);
  30. int    vget              (int x, int y);
  31. int    vgeta             (int x, int y);
  32. int    vgetac            (void);
  33. int    vgetch            (int x, int y);
  34. int    vgetchc           (void);
  35. void   vgetcur           (int *x, int *y);
  36. void   vhidecur          (void);
  37. int    visega            (void);
  38. int    visvga            (void);
  39. void   vnormalcur        (void);
  40. void   vpopcur           (void);
  41. void   vpopscreen        (void);
  42. void   vpushcur          (void);
  43. int    vpushscreen       (void);
  44. void   vputch            (int x, int y, unsigned char a,
  45.               register unsigned char c);
  46. void   vputf             (int x, int y, unsigned char a, char *fmt, ...);
  47. void   vputfc            (int y, unsigned char attrib, char *fmt, ...);
  48. void   vputs             (int x, int y, unsigned char a, register char *s);
  49. void   vputsc            (int y, unsigned char a, char *s);
  50. void   vset25            (void);
  51. void   vset43            (void);
  52. void   vset50            (void);
  53. void   vsetcur           (int x, int y);
  54. void   vsetcurtype       (unsigned t);
  55. void   vshowcur          (void);
  56. void   vbeep             (int m);
  57. void   vputdate          (int x, int y, int attr, int fmt );
  58. void   vputtime          (int x, int y, int attr, int fmt);
  59.  
  60.  
  61. /* ------------------------------------------------------------------------ */
  62. /*                          common access macros                            */
  63. /* ------------------------------------------------------------------------ */
  64. #define CLR(bg,fg,in)    ((fg)|(bg<<4)|(in))
  65. #define VCH(ch,at)       ((ch&255)|(at<<8))
  66. #define VAD(x,y)         ((y)*(SCREENWIDTH*2)+(x)*2)
  67. #define VCHAR(x)         (x&255)         /* extract char from video word */
  68. #define VATTR(x)         ((x>>8)&255)    /* extract attrib from video word */
  69.  
  70. #define VIDMODE          *(unsigned char far *) 0x00449lu
  71. #define MONOSEG          0xb0000000L
  72. #define COLORSEG         0xb8000000L
  73. #define VIDSEG           (unsigned char far *) \
  74.              ((7 == VIDMODE) ? MONOSEG : COLORSEG )
  75. #define ISMONO()         (VIDMODE == 7)
  76. #define ISTEXT()         (VIDMODE < 4)
  77.